var Hogan = require('hogan.js')

var config = {
    serverHost : 'http://localhost:8088/'
}

var _util = {
    request: function(param){
        var _this = this;
        $.ajax({
            type: param.method || 'GET',
            url: param.url || '',
            dataType: param.type || 'json',
            data: param.data || '',
            xhrFields: {
                withCredentials: true,
            },
            success: function(res){
                if(0 === res.status){ //请求资源成功
                    typeof param.success === 'function' && param.success(res)
                }
                else if(1 === res.status){ //请求资源失败
                    typeof param.error === 'function' && param.error(res)
                }
                else if(10 === res.status){ //需要登录（立即跳转到登陆界面）
                    _this.doLogin();
                }
                else if(11 === res.status){ //未登录（不需要跳转到登陆界面）
                    typeof param.success === 'function' && param.success(res)
                }
                else if(101 === res.status){ //验证码错误
                    typeof param.error === 'function' && param.error(res)
                }
                else if(2 === res.status){ //非法输入
                    typeof param.error === 'function' && param.error(res)
                }
            },
            error: function(errorMsg){
                $('.signOut').hide();
                $('.myAccount').hide();
                $('.myOrders').hide();
            }
        });
    },

    //获取服务器地址
    getServerURL : function(path){
        return config.serverHost + path;
    },

    //跳转至登陆界面
    doLogin: function(){
        window.location.href = '/view/account/login.html?redirect='+encodeURIComponent(window.location.href);
    },

    //获取地址参数
    getURLParam: function(name){
        var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)');
        var result = window.location.search.substring(1).match(reg);
        return result ? decodeURIComponent(result[2]) : null;
    },

    //检验参数是否合格：
    checkValue: function(fielType,fieldValue){
        var fieldValue=$.trim(fieldValue)
        if(fielType==='require'){
            return !!fieldValue          //双重否定，
        }
    },

    //进行数据的渲染
    renderHtml: function(htmlTemplate, data) {
      var template = Hogan.compile(htmlTemplate);
      var result = template.render(data);
      return result;  
    },
};

module.exports = _util